home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / weblogic_percent.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  80 lines

  1. #
  2. # This script was written by Vincent Renardias <vincent@strongholdnet.com>
  3. #
  4. # Licence : GPL v2
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10698);
  10.  script_bugtraq_id(2513);
  11.  script_version ("$Revision: 1.18 $");
  12.  name["english"] = "WebLogic Server /%00/ bug";
  13.  name["francais"] = "WebLogic Server /%00/ bug";
  14.  
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. Requesting a URL with '%00', '%2e', '%2f' or '%5c' appended to it
  19. makes some WebLogic servers dump the listing of the page 
  20. directory, thus showing potentially sensitive files.
  21.  
  22. An attacker may also use this flaw to view
  23. the source code of JSP files, or other dynamic content.
  24.  
  25. Reference : http://www.securityfocus.com/bid/2513
  26. Risk factor : High
  27. Solution : upgrade to WebLogic 6.0 with Service Pack 1";
  28.  
  29.  script_description(english:desc["english"]);
  30.  
  31.  summary["english"] = "Make a request like http://www.example.com/%00/";
  32.  summary["francais"] = "Fait une requΩte du type http://www.example.com/%00/";
  33.  script_summary(english:summary["english"], francais:summary["francais"]);
  34.  
  35.  script_category(ACT_GATHER_INFO);
  36.  
  37.  
  38.  script_copyright(english:"This script is Copyright (C) 2001 StrongHoldNet",
  39.         francais:"Ce script est Copyright (C) 2001 StrongHoldNet");
  40.  family["english"] = "Remote file access";
  41.  family["francais"] = "AccΦs aux fichiers distants";
  42.  script_family(english:family["english"], francais:family["francais"]);
  43.  script_dependencie("find_service.nes");
  44.  script_require_ports("Services/www", 80);
  45.  exit(0);
  46. }
  47.  
  48. #
  49. # The script code starts here
  50. #
  51. include("http_func.inc");
  52.  
  53. function http_getdirlist(itemstr, port) {
  54.  soc = http_open_socket(port);
  55.  if(soc)
  56.  {
  57.   buffer = http_get(item:itemstr, port:port);
  58.   send(socket:soc, data:buffer);
  59.   rbuf = http_recv(socket:soc);
  60.   data = tolower(rbuf);
  61.   if(("directory listing of" >< data) || ("index of" >< data))
  62.   {
  63.    if(strlen(itemstr) > 1) security_hole(port:port);
  64.    exit(0);
  65.   }
  66.   http_close_socket(soc);
  67.  }
  68.  else exit(0);
  69. }
  70.  
  71. port = get_http_port(default:80);
  72.  
  73. if(get_port_state(port))
  74. {
  75.   http_getdirlist(itemstr:"/", port:port);
  76.   http_getdirlist(itemstr:"/%2e/", port:port);
  77.   http_getdirlist(itemstr:"/%2f/", port:port);
  78.   http_getdirlist(itemstr:"/%5c/", port:port);
  79. }
  80.